package com.ruoyi.smart.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.TreeEntity;

/**
 * 计划任务对象 smart_plan_task
 * 
 * @author minwei
 * @date 2022-04-26
 */
public class SmartPlanTask extends TreeEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 关联ID */
    @Excel(name = "关联ID")
    private Long aboutId;

    /** 组织编号 */
    @Excel(name = "组织编号")
    private Long organizeorganazId;

    /** 名称 */
    @Excel(name = "名称")
    private String name;

    /** 产品id */
    @Excel(name = "产品id")
    private Long productId;

    /** 编码 */
    @Excel(name = "编码")
    private String code;

    /** 批次 */
    @Excel(name = "批次")
    private String batch;

    /** 计划数量 */
    @Excel(name = "计划数量")
    private Long planNum;

    /** 实际数量 */
    @Excel(name = "实际数量")
    private Long num;

    /** 进度 */
    @Excel(name = "进度")
    private String schedule;


    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 入库状态 */
    @Excel(name = "入库状态")
    private String state;

    /** 创建人ID */
    @Excel(name = "创建人ID")
    private Long createUserId;

    /** 创建日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 执行人编号 */
    @Excel(name = "执行人编号")
    private Long doUserId;

    /** 类型 */
    @Excel(name = "类型")
    private String type;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private SmartProductModel productModel;

    /** 组织名称 */
    @Excel(name = "组织名称")
    private SysDept organizeorganaz;

    /** 执行人名称 */
    @Excel(name = "执行人名称")
    private SysUser doUser;

    /** 创建人名称 */
    @Excel(name = "创建人名称")
    private SysUser createUser;

    public SmartPlanTask() {
    }

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setAboutId(Long aboutId)
    {
        this.aboutId = aboutId;
    }

    public Long getAboutId()
    {
        return aboutId;
    }
    public void setOrganizeorganazId(Long organizeorganazId)
    {
        this.organizeorganazId = organizeorganazId;
    }

    public Long getOrganizeorganazId()
    {
        return organizeorganazId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setProductId(Long productId)
    {
        this.productId = productId;
    }

    public Long getProductId()
    {
        return productId;
    }
    public void setCode(String code) 
    {
        this.code = code;
    }

    public String getCode() 
    {
        return code;
    }
    public void setBatch(String batch) 
    {
        this.batch = batch;
    }

    public String getBatch() 
    {
        return batch;
    }
    public void setPlanNum(Long planNum) 
    {
        this.planNum = planNum;
    }

    public Long getPlanNum() 
    {
        return planNum;
    }
    public void setNum(Long num) 
    {
        this.num = num;
    }

    public Long getNum() 
    {
        return num;
    }
    public void setStartDate(Date startDate) 
    {
        this.startDate = startDate;
    }


    public String getSchedule()
    {
        return schedule;
    }
    public void setSchedule(String schedule)
    {
        this.schedule = schedule;
    }

    public Date getStartDate() 
    {
        return startDate;
    }
    public void setEndDate(Date endDate) 
    {
        this.endDate = endDate;
    }

    public Date getEndDate() 
    {
        return endDate;
    }
    public void setState(String state) 
    {
        this.state = state;
    }

    public String getState() 
    {
        return state;
    }
    public void setCreateUserId(Long createUserId)
    {
        this.createUserId = createUserId;
    }

    public Long getCreateUserId()
    {
        return createUserId;
    }
    public void setCreateDate(Date createDate) 
    {
        this.createDate = createDate;
    }

    public Date getCreateDate() 
    {
        return createDate;
    }
    public void setDoUserId(Long doUserId)
    {
        this.doUserId = doUserId;
    }

    public Long getDoUserId()
    {
        return doUserId;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("parentId", getParentId())
            .append("aboutId", getAboutId())
            .append("organizeorganazId", getOrganizeorganazId())
            .append("name", getName())
            .append("productId", getProductId())
            .append("code", getCode())
            .append("batch", getBatch())
            .append("planNum", getPlanNum())
            .append("num", getNum())
            .append("startDate", getStartDate())
            .append("endDate", getEndDate())
            .append("state", getState())
            .append("createUserId", getCreateUserId())
            .append("createDate", getCreateDate())
            .append("doUserId", getDoUserId())
            .append("type", getType())
            .append("productName", getProductModel())
            .append("organizeorganazName", getOrganizeorganaz())
            .append("doUserName", getDoUser())
            .append("createUserName", getCreateUser())
            .toString();
    }


    public SysDept getOrganizeorganaz() {
        return organizeorganaz;
    }

    public void setOrganizeorganaz(SysDept organizeorganaz) {
        this.organizeorganaz = organizeorganaz;
    }

    public SmartProductModel getProductModel() {
        return productModel;
    }

    public void setProductModel(SmartProductModel productModel) {
        this.productModel = productModel;
    }

    public SysUser getDoUser() {
        return doUser;
    }

    public void setDoUser(SysUser doUser) {
        this.doUser = doUser;
    }

    public SysUser getCreateUser() {
        return createUser;
    }

    public void setCreateUser(SysUser createUser) {
        this.createUser = createUser;
    }
}
